home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 February / Macworld (1999-02).dmg / Games World / SharewareGames / Xconq 7.2.2 / lib / ww2-bn.g < prev    next >
Text File  |  1998-05-22  |  20KB  |  746 lines

  1. (game-module "ww2-bn"
  2.   (title "WWII, Battalion-level, Europe")
  3.   (blurb "base module for battalion-level WWII, European theater")
  4.   (variants (see-all true))
  5.   )
  6.  
  7. ;;; Non-motorized infantry.
  8.  
  9. (unit-type inf (long-name "infantry"))
  10. (unit-type inf-bicycle (long-name "bicycle infantry"))
  11. (unit-type inf-para (long-name "parachute infantry") (possible-sides "allied"))
  12. (unit-type inf-glider (long-name "glider infantry") (possible-sides "allied"))
  13. (unit-type inf-sec (long-name "security company") (possible-sides "allied"))
  14. (unit-type inf-ranger (long-name "rangers") (possible-sides "allied"))
  15. (unit-type inf-cmdo (long-name "commando") (possible-sides "allied"))
  16. (unit-type inf-fusil (long-name "fusilier") (possible-sides "german"))
  17. (unit-type inf-ost (long-name "Ost infantry") (possible-sides "german"))
  18. (unit-type inf-pion (long-name "pioniere") (possible-sides "german"))
  19.  
  20. (define non-mot-inf-bn-types
  21.   (inf inf-bicycle inf-para inf-glider inf-ranger inf-cmdo inf-fusil inf-ost inf-pion))
  22.  
  23. (define non-mot-inf-co-types (inf-sec))
  24.  
  25. (define non-mot-inf-types (append non-mot-inf-bn-types non-mot-inf-co-types))
  26.  
  27. (add non-mot-inf-bn-types image-name "inf-bn")
  28. (add inf-bicycle image-name "inf-bike-bn")
  29. (add non-mot-inf-co-types image-name "inf-co")
  30.  
  31. (add non-mot-inf-types acp-per-turn 3)
  32. (add inf-sec acp-per-turn 2)
  33. (add (inf-bicycle inf-ranger inf-cmdo inf-pion) acp-per-turn 4)
  34.  
  35. (define allied-inf-types (inf-para inf-glider inf-sec inf-ranger inf-cmdo))
  36.  
  37. ;;; Motorized infantry.
  38.  
  39. (unit-type inf-mot (long-name "motorized infantry"))
  40. (unit-type inf-mg-co (long-name "machinegun company"))
  41. (unit-type inf-mot-sec (long-name "motorized security"))
  42. (unit-type inf-recon (long-name "recon") (possible-sides "allied"))
  43. (unit-type inf-fsj (long-name "Fallschirmjaeger") (possible-sides "german"))
  44. (unit-type inf-mot-pion (long-name "Pioniere") (possible-sides "german"))
  45.  
  46. (define mot-inf-bn-types (inf-mot inf-fsj inf-recon))
  47.  
  48. (define mot-inf-co-types
  49.   (inf-mg-co inf-mot-sec inf-recon inf-mot-pion))
  50.  
  51. (define mot-inf-types (append mot-inf-bn-types mot-inf-co-types))
  52.  
  53. (add mot-inf-bn-types image-name "inf-mot-bn")
  54. (add mot-inf-co-types image-name "inf-mot-co")
  55.  
  56. (add mot-inf-types acp-per-turn 8)
  57.  
  58. ;;; Tracked infantry.
  59.  
  60. (unit-type inf-armored (long-name "armored infantry"))
  61. (unit-type inf-pz-pion (long-name "Panzer pioniere") (possible-sides "german"))
  62. (unit-type inf-armored-recon (long-name "armored recon") (possible-sides "german"))
  63. (unit-type inf-lw-recon (long-name "Luftwaffe recon") (possible-sides "german"))
  64.  
  65. (define tracked-inf-types (inf-armored inf-pz-pion inf-armored-recon inf-lw-recon))
  66.  
  67. (add tracked-inf-types image-name "inf-tracked-bn")
  68.  
  69. (add (inf-armored inf-pz-pion) acp-per-turn 5)
  70. (add (inf-armored-recon inf-lw-recon) acp-per-turn 6)
  71.  
  72. (define inf-bn-types (append non-mot-inf-bn-types mot-inf-bn-types inf-armored inf-pz-pion inf-armored-recon))
  73. (define inf-co-types (append non-mot-inf-co-types mot-inf-co-types inf-lw-recon))
  74.  
  75. ;;; All infantry types together.
  76.  
  77. (define inf-types (append non-mot-inf-types mot-inf-types tracked-inf-types))
  78.  
  79. (add inf-types hp-max 12)
  80. (add inf-co-types hp-max 3)
  81.  
  82. ;;; Cavalry types.
  83.  
  84. (unit-type cav-mech (long-name "mechanized cavalry") (image-name "cav-sqdn"))
  85. (unit-type cav-mech-trp (long-name "mechanized cavalry troop") (image-name "cav-trp"))
  86.  
  87. (define cav-bn-types (cav-mech))
  88. (define cav-co-types (cav-mech-trp))
  89.  
  90. (define cav-types (cav-mech cav-mech-trp))
  91.  
  92. (add cav-types acp-per-turn 12)
  93.  
  94. ;;; Artillery types.
  95.  
  96. (unit-type arty-cd-cased (long-name "casemated coastal artillery"))
  97. (unit-type arty-cd-open (long-name "open coastal artillery"))
  98. (unit-type arty-horse (long-name "horse-drawn artillery battalion"))
  99. (unit-type arty-horse-bty (long-name "horse-drawn artillery battery"))
  100. (unit-type arty-para (long-name "parachute artillery"))
  101. (unit-type arty-glider (long-name "glider artillery"))
  102. (unit-type arty-rr (long-name "railroad artillery"))
  103.  
  104. (define german-fixed-arty-types
  105.   (arty-cd-cased arty-cd-open))
  106.  
  107. (add german-fixed-arty-types possible-sides "german")
  108.  
  109. (add german-fixed-arty-types acp-per-turn 2)
  110.  
  111. (add german-fixed-arty-types speed 0)
  112.  
  113. (add german-fixed-arty-types acp-to-fire 1)
  114.  
  115. (add german-fixed-arty-types range (12 10))
  116.  
  117. (define allied-non-mot-arty-types
  118.   (arty-para arty-glider))
  119.  
  120. (add allied-non-mot-arty-types possible-sides "allied")
  121.  
  122. (add allied-non-mot-arty-types acp-per-turn 6)
  123.  
  124. (add allied-non-mot-arty-types acp-to-fire 3)
  125.  
  126. (add allied-non-mot-arty-types range (8 6))
  127.  
  128. (define horse-arty-types
  129.   (arty-horse arty-horse-bty))
  130.  
  131. (add horse-arty-types acp-per-turn 3)
  132.  
  133. (add horse-arty-types acp-to-fire 1)
  134.  
  135. (add horse-arty-types range (8 12))
  136.  
  137. (add arty-rr acp-per-turn 6)
  138.  
  139. (add arty-rr acp-to-fire 3)
  140.  
  141. (add arty-rr range 20)
  142.  
  143. (add arty-rr range-min 5)
  144.  
  145. (define non-mot-arty-types
  146.   (append german-fixed-arty-types allied-non-mot-arty-types
  147.           horse-arty-types arty-rr))
  148.  
  149. (add non-mot-arty-types image-name "arty-bn")
  150. (add arty-cd-cased image-name "arty-cd-cased")
  151. (add arty-horse-bty image-name "arty-co")
  152.  
  153. (unit-type arty-group (long-name "artillery group") (possible-sides "allied"))
  154. (unit-type arty-hq (long-name "HQ artillery") (possible-sides "allied"))
  155. (unit-type arty-towed (long-name "towed artillery"))
  156. (unit-type arty-flak (possible-sides "german"))
  157. (unit-type arty-flak-bty (long-name "Flak battery") (possible-sides "german"))
  158. (unit-type arty-at (long-name "anti-tank battalion"))
  159. (unit-type arty-nebel (long-name "Nebelwerfer battalion") (possible-sides "german"))
  160. (unit-type arty-mortar (long-name "mortar battalion"))
  161. (unit-type arty-mortar4.2 (long-name "mortar battalion") (possible-sides "allied"))
  162. (unit-type arty-fortress-bn (long-name "fortress battalion"))
  163.  
  164. (define mot-arty-types
  165.   (arty-group arty-hq arty-towed arty-flak arty-flak-bty
  166.    arty-at arty-nebel arty-mortar arty-mortar4.2 arty-fortress-bn))
  167.  
  168. (add mot-arty-types image-name "arty-mot-bn")
  169. ;(add mot-arty-types image-name "arty-mot-co")
  170.  
  171. (add (arty-mortar arty-mortar4.2) image-name "mortar")
  172.  
  173. (add (arty-flak arty-flak-bty) image-name "flak")
  174.  
  175. (add mot-arty-types acp-per-turn 8)
  176.  
  177. (add mot-arty-types acp-to-fire 4)
  178.  
  179. (add mot-arty-types range (8 9 8 1 1 1 5 4 2 2))
  180.  
  181. (unit-type arty-nebel-bty (long-name "Nebelwerfer battery") (possible-sides "german"))
  182. (unit-type arty-armored (long-name "armored artillery"))
  183. (unit-type arty-hq-armored (long-name "tracked HQ artillery") (possible-sides "allied"))
  184. (unit-type arty-sp-at (long-name "self-propelled anti-tank battalion"))
  185. (unit-type arty-sp-at-co (long-name "self-propelled anti-tank company"))
  186.  
  187. (define tracked-arty-bn-types (arty-armored arty-sp-at))
  188.  
  189. (define tracked-arty-co-types (arty-nebel-bty arty-hq-armored arty-sp-at-co))
  190.  
  191. (define tracked-arty-types (append tracked-arty-bn-types tracked-arty-co-types))
  192.  
  193. (add tracked-arty-bn-types image-name "arty-armor-bn")
  194. (add tracked-arty-co-types image-name "arty-armor-co")
  195.  
  196. (add tracked-arty-types acp-per-turn 6)
  197.  
  198. (add tracked-arty-types acp-to-fire 2)
  199.  
  200. (add tracked-arty-types range (8 4 8 1 1))
  201.  
  202. (define arty-types (append non-mot-arty-types mot-arty-types tracked-arty-types))
  203.  
  204. (add arty-types hp-max 12)
  205.  
  206. ;;; Armor types.
  207.  
  208. (unit-type tank (long-name "tank battalion"))
  209. (unit-type assault-gun (long-name "assault gun battalion"))
  210. (unit-type tank-co (long-name "tank company"))
  211. (unit-type assault-gun-co (long-name "assault gun company"))
  212. (unit-type croc-co (long-name "crocodile company"))
  213.  
  214. (define armor-bn-types (tank assault-gun))
  215.  
  216. (define armor-co-types (tank-co assault-gun-co croc-co))
  217.  
  218. (define armor-types (append armor-bn-types armor-co-types))
  219.  
  220. (add armor-bn-types image-name "armor-bn")
  221. (add armor-co-types image-name "armor-co")
  222.  
  223. (add armor-types acp-per-turn 6)
  224. (add croc-co acp-per-turn 4)
  225.  
  226. (add armor-types hp-max 12)
  227.  
  228. ;; Headquarters types.
  229.  
  230. (unit-type hq-nebel-brg (long-name "nebelwerfer brigade HQ"))
  231. (unit-type hq-flak-reg (long-name "sturmflak regiment HQ"))
  232.  
  233. (unit-type hq-inf-div (long-name "infantry division HQ"))
  234. (unit-type hq-mot-div (long-name "motorized infantry division HQ"))
  235. (unit-type hq-para-div (long-name "airborne division HQ"))
  236. (unit-type hq-gren-div (long-name "panzergrenadier division HQ"))
  237. (unit-type hq-armor-div (long-name "armor division HQ"))
  238.  
  239. (unit-type hq-flak-korps (long-name "sturmflak korps HQ"))
  240. (unit-type hq-pz-korps (long-name "panzer korps HQ"))
  241. (unit-type hq-fsj-korps (long-name "fallschirmjaeger korps HQ"))
  242.  
  243. (unit-type hq-inf-corps (long-name "infantry corps HQ"))
  244.  
  245. (define german-hq-types
  246.   (hq-inf-div hq-nebel-brg hq-flak-reg hq-gren-div
  247.    hq-flak-korps hq-pz-korps hq-fsj-korps))
  248.  
  249. (add german-hq-types acp-per-turn 6)
  250.  
  251. (add german-hq-types possible-sides "german")
  252.  
  253. (define allied-hq-types
  254.   (hq-mot-div hq-para-div))
  255.  
  256. (add allied-hq-types possible-sides "allied")
  257.  
  258. (add allied-hq-types acp-per-turn (8 6))
  259.  
  260. (define generic-hq-types
  261.   (hq-armor-div hq-inf-corps))
  262.  
  263. (add generic-hq-types acp-per-turn 8)
  264.  
  265. (define hq-types (append german-hq-types allied-hq-types generic-hq-types))
  266.  
  267. (add hq-types image-name "inf-div-hq")
  268. (add (hq-flak-korps hq-pz-korps hq-fsj-korps) image-name "inf-corps-hq")
  269. (add hq-inf-corps image-name "inf-corps-hq")
  270.  
  271. (add hq-types hp-max 2)
  272.  
  273. (define corps-hq-types (hq-inf-corps hq-flak-korps hq-pz-korps hq-fsj-korps))
  274.  
  275. (define ground-unit-types (append inf-types cav-types arty-types armor-types hq-types))
  276.  
  277. (define mot-types (append mot-inf-types cav-types mot-arty-types hq-types))
  278.  
  279. (define tracked-types (append tracked-inf-types tracked-arty-types armor-types))
  280.  
  281. (define vehicle-types (append mot-types tracked-types))
  282.  
  283. (define bn-types (append inf-bn-types cav-bn-types))
  284. (define co-types (append inf-co-types cav-co-types armor-co-types))
  285.  
  286. ;;; Trains.
  287.  
  288. (unit-type train (possible-sides "german"))
  289.  
  290. (add train acp-per-turn 80)
  291.  
  292. ;;; Ships.
  293.  
  294. (unit-type landing-ship (image-name "ap"))
  295. (unit-type transport (image-name "ap"))
  296. (unit-type destroyer (image-name "dd"))
  297. (unit-type cruiser (image-name "ca"))
  298. (unit-type battleship (image-name "bb"))
  299.  
  300. (define ship-types (landing-ship transport destroyer cruiser battleship))
  301.  
  302. (add ship-types possible-sides "allied")
  303.  
  304. ;(add ship-types acp-per-turn 4)
  305. ;(add ship-types speed 99.00)
  306. (add ship-types acp-per-turn 80)
  307.  
  308. (add (destroyer cruiser battleship) acp-to-fire 20)
  309.  
  310. (add (destroyer cruiser battleship) range (6 8 12))
  311.  
  312. (add ship-types hp-max (6 6 6 12 18))
  313.  
  314. ;;; Aircraft.
  315.  
  316. (unit-type fighter-bomber (image-name "1e"))
  317. (unit-type light-bomber (image-name "4e"))
  318. (unit-type medium-bomber (image-name "4e"))
  319. (unit-type heavy-bomber (image-name "4e"))
  320.  
  321. (define aircraft (fighter-bomber light-bomber medium-bomber heavy-bomber))
  322.  
  323. (add aircraft possible-sides "allied")
  324.  
  325. (add aircraft acp-per-turn 4)
  326. (add aircraft speed 99.00)
  327.  
  328. ;;; Places.
  329.  
  330. (unit-type fort (image-name "fortress"))
  331. (unit-type fortification (image-name "walltown"))
  332. (unit-type coast-strongpoint (image-name "fortress"))
  333.  
  334. (define fort-types (fort fortification coast-strongpoint))
  335.  
  336. (add fort-types hp-max 8)
  337.  
  338. ;;; Supply-related units.
  339.  
  340. (unit-type mulberry (possible-sides "allied"))
  341. (unit-type port (image-name "anchor"))
  342. (unit-type supply-depot)
  343.  
  344. (define supply-types (mulberry port supply-depot))
  345.  
  346. (unit-type village (image-name "town20"))
  347. (unit-type town (image-name "city18"))
  348.  
  349. (define town-types (village town))
  350.  
  351. (add town-types see-always true)
  352.  
  353. (add town-types hp-max (24 48))
  354.  
  355. (define place-types (append fort-types supply-types town-types))
  356.  
  357. ;;; Materials
  358.  
  359. (material-type supply)
  360.  
  361. ;;; Terrain and its properties.
  362.  
  363. (terrain-type sea (char ".")
  364.   (occurrence 10))
  365. (terrain-type clear (image-name "pale-green") (char "+")
  366.   (occurrence 60))
  367. (terrain-type bocage (char "#")
  368.   (occurrence 20))
  369. (terrain-type hill (image-name "mountains") (char "^")
  370.   (occurrence 1))
  371. (terrain-type forest (char "%")
  372.   (occurrence 8))
  373. (terrain-type swamp
  374.   )
  375. (terrain-type flooded
  376.   (help "ground that is temporarily swampy")
  377.   )
  378. (terrain-type beach (image-name "desert")
  379.   )
  380. (terrain-type city (image-name "urban") (char "*")
  381.   (occurrence 1))
  382. (terrain-type river
  383.   (subtype border) (occurrence 10))
  384. (terrain-type road
  385.   (subtype connection) (subtype-x road-x) (occurrence 10))
  386. (terrain-type sec-road (image-name "dark-gray")
  387.   (subtype connection) (subtype-x road-x) (occurrence 100))
  388. (terrain-type railroad (image-name "black")
  389.   (subtype connection) (subtype-x road-x) (occurrence 50))
  390.  
  391. (define land (clear bocage hill forest swamp flooded city beach))
  392.  
  393. (define roads (road sec-road))
  394.  
  395. ;; Although flooded terrain is basically liquid, we don't want
  396. ;; shoreline drawing and don't need the elevation leveling.
  397.  
  398. (add sea liquid true)
  399.  
  400. ;;; Distances are all in meters.
  401.  
  402. (add t* elevation-min 0)
  403. (add t* elevation-max 1000)
  404. (add (sea swamp) elevation-max 0) 
  405.  
  406. (area (cell-width 2000))
  407.  
  408. ;;; Static relationships.
  409.  
  410. (table vanishes-on
  411.   (ground-unit-types sea true)
  412. ;  ((arty-rr train) t* true)
  413. ;  ((arty-rr train) railroad false)
  414.   (ship-types land true)
  415.   ;; Landing ships can go on the beach.
  416.   (landing-ship beach false)
  417.   (place-types sea true)
  418.   ;; ...except for mulberries.
  419.   (mulberry sea false)
  420.   )
  421.  
  422. ;; A cell has a capacity for basically six companies or two battalions.
  423.  
  424. (add t* capacity 6)
  425.  
  426. (table unit-size-in-terrain
  427.   (bn-types t* 3)
  428.   (co-types t* 1)
  429.   (arty-types t* 1)
  430.   (arty-sp-at t* 3) ; only large arty type
  431.   (armor-bn-types t* 2)
  432.   (hq-types t* 1)
  433.   ;; A port takes up no additional space.
  434.   (port t* 0)
  435.   ;; A town fills up the cell.
  436.   (town t* 6)
  437.   )
  438.  
  439. (add landing-ship capacity 9)
  440. (add transport capacity 9)
  441. (add fort-types capacity 12)
  442. (add town-types capacity 12)
  443.  
  444. (table unit-size-as-occupant
  445.   (u* u* 100)
  446.   (bn-types (landing-ship transport) 3)
  447.   (co-types (landing-ship transport) 1)
  448.   (arty-types (landing-ship transport) 1)
  449.   (arty-sp-at (landing-ship transport) 3) ; only large arty type
  450.   (armor-bn-types (landing-ship transport) 2)
  451.   (hq-types (landing-ship transport) 1)
  452.   ;; Stacking in towns is similar to stacking in terrain.
  453.   (bn-types fort-types 3)
  454.   (co-types fort-types 1)
  455.   (arty-types fort-types 1)
  456.   (arty-sp-at fort-types 3) ; only large arty type
  457.   (armor-bn-types fort-types 2)
  458.   (hq-types fort-types 1)
  459.   (bn-types town-types 3)
  460.   (co-types town-types 1)
  461.   (arty-types town-types 1)
  462.   (arty-sp-at town-types 3) ; only large arty type
  463.   (armor-bn-types town-types 2)
  464.   (hq-types town-types 1)
  465.   )
  466.  
  467. (table unit-capacity-x
  468.   (port transport 6)
  469.   )
  470.  
  471. (table unit-storage-x
  472.   ;; Any unit can get along for two days by itself.
  473.   (u* supply 18)
  474.   (co-types supply 6)
  475.   (hq-types supply 180)
  476.   (place-types supply 180)
  477.   (supply-depot supply 360)
  478.   )
  479.  
  480. ;;; Actions.
  481.  
  482. ;; (Acp is defined with each subset of types.)
  483.  
  484. ;; Units need some material to be able to act.
  485.  
  486. ;; Night shuts things down considerably.
  487.  
  488. (table acp-night-effect
  489.   ;; 1/2 of normal abilities.
  490.   (u* t* 50)
  491.   )
  492.   
  493. ;;; Movement.
  494.  
  495. (table mp-to-leave-terrain
  496.   (u* t* 1)
  497.   (u* swamp 2)
  498.   (u* flooded 2)
  499.   (vehicle-types t* 2)
  500.   ;; Armor can go cross-country.
  501.   (armor-types (clear bocage) 1)
  502.   (vehicle-types city 1)
  503.   ;; Standing water is a problem for vehicles.
  504.   (vehicle-types swamp 3)
  505.   (vehicle-types flooded 4)
  506.   ;; Advantage of roads.
  507.   (vehicle-types roads 0)
  508.   ;; Rail-only units.
  509.   ((arty-rr train) t* 9999)
  510.   ((arty-rr train) railroad 1)
  511.   ;; Prevent land units from crossing the sea.
  512.   (u* sea 9999)
  513.   (ship-types sea 0)
  514.   (aircraft sea 0)
  515.   )
  516.  
  517. (table mp-to-enter-terrain
  518.   (u* t* 1)
  519.   (u* swamp 2)
  520.   (u* flooded 2)
  521.   (vehicle-types t* 2)
  522.   (vehicle-types city 1)
  523.   ;; Standing water is a problem for vehicles.
  524.   (vehicle-types swamp 3)
  525.   (vehicle-types flooded 4)
  526.   ;; Extra cost to cross rivers.
  527.   (u* river 1)
  528.   (vehicle-types river 3)
  529.   (tracked-types river 2)
  530.   ;; Advantage of roads.
  531.   (vehicle-types roads 0)
  532.   ;; Rail-only units.
  533.   ((arty-rr train) t* 9999)
  534.   ((arty-rr train) railroad 1)
  535.   ;; Accident prevention.
  536.   (ground-unit-types sea 9999)
  537.   (ship-types land 9999)
  538.   (landing-ship beach 1)
  539.   )
  540.  
  541. (table mp-to-traverse
  542.   (vehicle-types roads 1)
  543.   ((arty-rr train) railroad 1)
  544.   )
  545.  
  546. ;; No freebies for landing, we have to be in a port or on a beach.
  547.  
  548. (table ferry-on-entry
  549.   ((landing-ship transport) u* over-nothing)
  550.   )
  551.  
  552. (table ferry-on-departure
  553.   ((landing-ship transport) u* over-nothing)
  554.   )
  555.  
  556. (add inf-types free-mp 1)
  557. (add non-mot-inf-types free-mp 2)
  558.  
  559. ;;; Production.
  560.  
  561. (table base-production
  562.   ;; Corps HQs "produce" enough supply to support all the units that would
  563.   ;; be under their command, for about one day or so.
  564.   (corps-hq-types supply 300)
  565.   )
  566.  
  567. (table base-consumption
  568.   ;; Units are consuming all the time.
  569.   (u* supply 3)
  570.   (co-types supply 1)
  571.   ;; ... but not forts or towns.
  572.   (fort-types supply 0)
  573.   (town-types supply 0)
  574.   )
  575.  
  576. (table hp-per-starve
  577.   ;; Starving units ultimately die or surrender, so end up out of the
  578.   ;; game permanently.
  579.   (u* supply 6.00)
  580.   (fort-types supply 0)
  581.   (town-types supply 0)
  582.   )
  583.  
  584. ;;; Combat.
  585.  
  586. ;;; (Hp and range is defined with each set of types.)
  587.  
  588. (table acp-to-attack
  589.   (u* u* 1)
  590.   (vehicle-types u* 4)
  591.   ;; Artillery can't attack things directly (can still defend though).
  592.   (arty-types inf-types 0)
  593.   (arty-types armor-types 0)
  594.   (arty-types fort-types 0)
  595.   (arty-types town-types 0)
  596.   ;; HQs may not attack directly, though they can defend themselves
  597.   ;; adequately.
  598.   (hq-types u* 0)
  599.   ((landing-ship transport) u* 0)
  600.   )
  601.  
  602. (table hit-chance
  603.   (u* u* 50)
  604.   (hq-types u* 0)
  605.   (u* hq-types 25)
  606.   (u* fort-types 5)
  607.   (u* town-types 100)
  608.   ((landing-ship transport) u* 0)
  609.   )
  610.  
  611. (table damage
  612.   (u* u* 1d5)
  613.   (hq-types u* 0)
  614.   (u* fort-types 1)
  615.   (u* town-types 1)
  616.   ((landing-ship transport) u* 0)
  617.   )
  618.  
  619. (table retreat-chance
  620.   (inf-types inf-types 10)
  621.   (armor-types inf-types 20)
  622.   (inf-types arty-types 20)
  623.   (armor-types arty-types 40)
  624.   (u* hq-types 50)
  625.   )
  626.  
  627. ;;; Capture.
  628.  
  629. (table capture-chance
  630.   ;; This is the chance to capture a mostly-abandoned fort.
  631.   (inf-types fort-types 50)
  632.   (armor-types fort-types 50)
  633.   ;; Towns never offer any sort of resistance.
  634.   (u* town-types 100)
  635.   )
  636.  
  637. (table protection
  638.   (inf-types fort-types 50)
  639.   (arty-types fort-types 40)
  640.   (armor-types fort-types 40)
  641.   (inf-types town-types 50)
  642.   (arty-types town-types 60)
  643.   (armor-types town-types 40)
  644.   )
  645.  
  646. (table occupant-combat
  647.   (ground-unit-types (landing-ship transport) 0)
  648.   )
  649.  
  650. ;; Infantry bounces back if given a chance to rest.
  651.  
  652. (add inf-types hp-recovery 0.25)
  653.  
  654. ;; Damage to forts is hard to repair.
  655.  
  656. (add fort-types hp-recovery 0.05)
  657.  
  658. ;; The Germans may want to destroy ports etc.
  659.  
  660. (add port acp-to-disband 1)
  661.  
  662. ;;; Backdrop.
  663.  
  664. (table out-length
  665.   ;; Most consumers of supply never give any up automatically.
  666.   (u* supply -1)
  667.   ;; Supply sources can share things around.
  668.   (hq-types supply 8)
  669.   (supply-depot supply 12)
  670.   )
  671.  
  672. (table in-length
  673.   (u* supply 12)
  674.   )
  675.  
  676. ;;; Random game synthesis (for testing mostly, will usually use fixed map and units).
  677.  
  678. (set synthesis-methods
  679.   '(make-random-terrain make-countries make-independent-units make-roads))
  680.  
  681. #|
  682. (set synthesis-methods (append synthesis-methods '(make-random-date)))
  683.  
  684. (set initial-date-min "0 1 Jan 1944")
  685. (set initial-date-max "0 1 May 1945")
  686. |#
  687.  
  688. ;; need a French name generator for villages.
  689. ;(add village independent-density 1000)
  690.  
  691. (set country-radius-min 8)
  692.  
  693. (add sea country-terrain-min 4)
  694.  
  695. (add sea country-terrain-max 10)
  696.  
  697. ;; One of everything.
  698.  
  699. (add u* start-with 1)
  700.  
  701. (table favored-terrain
  702.   (u* t* 100)
  703.   (u* sea 0)
  704.   (ship-types t* 0)
  705.   (ship-types sea 100)
  706. )
  707.  
  708. (table road-chance
  709.   (town (village town) (50 100))
  710.   (village village 20)
  711.   )
  712.  
  713. (table road-into-chance
  714.   (land land 100))
  715.  
  716. ;; All units start out completely supplied.
  717.  
  718. (table unit-initial-supply (u* m* 9999))
  719.  
  720. ;;; Scenario fillins.
  721.  
  722. ;;; Getting the dates right.
  723.  
  724. (set calendar '(usual hour 8))
  725.  
  726. (world 25000 (day-length 3))
  727.  
  728. ;;; The usual sides.
  729.  
  730. (set side-library '(
  731.   ((name "Allies") (adjective "Allied") (class "allied")
  732.    (color "blue") (emblem-name "white-star"))
  733.   ((name "Germany") (adjective "German") (class "german")
  734.    (color "black") (emblem-name "german-cross"))
  735.   ))
  736.  
  737. (game-module (notes (
  738.   "This is a generic battalion-level set of definitions, strongly oriented"
  739.   "towards the Normandy invasion timeframe."
  740.   ""
  741.   "The basic map scale is 2km/hex, 8 hours/turn."
  742.   )))
  743.  
  744. (game-module (design-notes (
  745.   )))
  746.